////////////////////////////////////////////////////
/////////////////Oasis and Bask/////////////////////
////////////////////////////////////////////////////

VisitOasisAndBask* VisitOasisAndBask::Instance()
{
	static VisitOasisAndBask instance;

	return &instance;
}

void VisitOasisAndBask::Enter(Apprentice* pApprentice)
{

	if(pApprentice->Location() != Oasis)
	{
		SetTextColor(FOREGROUND_BLUE| FOREGROUND_INTENSITY);
		cout << "\n" << GetNameOfEntity(pMaster->ID()) << ": Going to the Oasis.";

		pApprentice->ChangeLocation(Oasis);
	}
}



void VisitOasisAndBask::Execute(Apprentice* pApprentice)
{  
		while(pApprentice->()> 0)
		{

			pApprentice->DecreaseComfort();

			SetTextColor(FOREGROUND_BLUE| FOREGROUND_INTENSITY);
			cout << "\n" << GetNameOfEntity(pMaster->ID()) << ": That was a good rest.";
		}
	}

	if(pApprentice->Uncomforatable()<=0)
	{
		pApprentice->FindActivity(); //Makes the Master figure out what he should do next.
	}

}

void  VisitOasisAndBask::Exit(Apprentice* pApprentice)
{
	SetTextColor(FOREGROUND_BLUE| FOREGROUND_INTENSITY);
	cout << "\n" << GetNameOfEntity(pApprentice->ID()) << ": Well, that was relaxing, now to my other matters.";
}


////////////////////////////////////////
//////////////////Drink/////////////////
////////////////////////////////////////

VisitOasisAndDrink* VisitOasisAndDrink::Instance()
{
	static VisitOasisAndDrink instance;

	return &instance;
}


void VisitOasisAndDrink::Enter(Apprentice* pApprentice)
{
	if(pApprentice->Location() != Oasis)
	{
		SetTextColor(FOREGROUND_BLUE| FOREGROUND_INTENSITY);
		cout << "\n" << GetNameOfEntity(pApprentice->ID()) << ": Going to the Oasis.";

		pApprentice->ChangeLocation(Oasis);
	}
}



void VisitOasisAndDrink::Execute(Apprentice* pApprentice)
{  
	while(pApprentice->Thirsty()> 0)
	{

		pApprentice->DecreaseiThirst(1);

		pApprentice->IncreaseiFatigue();

		SetTextColor(FOREGROUND_BLUE| FOREGROUND_INTENSITY);
		cout << "\n" << GetNameOfEntity(pApprentice->ID()) << ": That's some good water.";
	}


	if(pApprentice->Thirsty()<=0)
	{
		pApprentice->FindActivity(); //Makes the Apprentice figure out what he should do next.
	}

}

void  VisitOasisAndDrink::Exit(Apprentice* pApprentice)
{
	SetTextColor(FOREGROUND_BLUE| FOREGROUND_INTENSITY);
	cout << "\n" << GetNameOfEntity(pApprentice->ID()) << ": Well, that was refreshing, now to my other matters.";
}